/**
 * Project Name:zyhj-admin
 * File Name:HzfInfoCorsServiceImpl.java
 * Package Name:com.vviton.zyhj.admin.provider
 * Date:2017年3月28日下午2:15:14
 *
 */

package com.vviton.zyhj.admin.provider;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;

import com.vviton.zyhj.admin.content.CommonConstants;
import com.vviton.zyhj.common.base.BaseService;
import com.vviton.zyhj.common.dao.TYyxtHzglHzgxbMapper;
import com.vviton.zyhj.common.entity.TYyxtHzglHzgxb;
import com.vviton.zyhj.common.view.ViewHzfInfo;
import com.vviton.zyhj.common.view.ViewHzfxx;

/**
 * ClassName:HzfInfoCorsServiceImpl <br/>
 * Function: 合作方查询CorsServiceImpl. <br/>
 * Date: 2017年3月28日 下午2:15:14 <br/>
 *
 * @author libo
 * @version
 * @since JDK 1.7
 * @see
 */
public class HzfInfoCorsServiceImpl extends BaseService implements HzfInfoCorsService {

    /** 合作关系DAO */
    @Autowired
    private TYyxtHzglHzgxbMapper tYyxtHzglHzgxbMapper;

    /**
     *
     * getHzfrzAndxyqd,(合作方入驻及签订协议判断). <br/>
     * Author: libo <br/>
     * Create Date: 2017年3月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2017年3月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param loginid 登陆账号
     * @param cmsorgcode 组织机构代码（查询字段：业务域）
     * @return ViewHzfxx 合作方信息
     * @since JDK 1.7
     */
    @Override
    public ViewHzfxx getHzfrzAndxyqd(String loginid, String cmsorgcode) {

        ViewHzfxx hzfxx = new ViewHzfxx();
        //根据合作方账号zh和业务域ywy获取合作协议签署信息
        TYyxtHzglHzgxb hzxx = tYyxtHzglHzgxbMapper.getHzgxbXyzt(loginid, cmsorgcode);
        if (hzxx != null) {
            // 获取合作方入驻信息
            //resful方式
            ViewHzfInfo hzfInfo = CommonConstants.getHzfInfo(hzxx.getHzfid());
            if (hzfInfo != null) {
                // 合作方已经入驻 且 已签署协议
                if (CommonConstants.HZF_XYYES_RZYES.equals(hzxx.getXyzt()) && CommonConstants.HZF_XYYES_RZYES.equals(hzxx.getSpjg())) {
                    hzfxx.setFlag(CommonConstants.HZF_XYYES_RZYES);
                    hzfxx.setHzfid(hzfInfo.getHzfid());
                    hzfxx.setHzfmc(hzfInfo.getHzfmc());
                    hzfxx.setZzh(hzfInfo.getHzfzh());
                } else {// 合作方入驻且未签署协议
                    hzfxx.setFlag(CommonConstants.HZF_XYNO_RZYES);
                }
            } else {// 合作方未入驻且未签署协议
                hzfxx.setFlag(CommonConstants.HZF_XYNO_RZNO);
            }
            hzfxx.setFlag(CommonConstants.HZF_XYNO_RZNO);
        } else {
            hzfxx.setFlag(CommonConstants.HZF_XYNO_RZNO);
        }
        return hzfxx;
    }

    /**
     *
     * getHzfxxListByCmsorgcode,(根据组织机构代码获取合作方列表). <br/>
     * Author: libo <br/>
     * Create Date: 2017年3月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2017年3月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param cmsorgcode 组织机构代码（查询字段：业务域）
     * @return List<ViewHzfxx> 合作方列表
     * @since JDK 1.7
     */
    @Override
    public List<ViewHzfxx> getHzfxxListByCmsorgcode(String cmsorgcode) {
        //已签署协议 且 审核通过合作方企业列表
        List<TYyxtHzglHzgxb> hzfList = tYyxtHzglHzgxbMapper.getHzgxbxxByZzjgcode(cmsorgcode);
        List<ViewHzfxx> hzfxxList = new ArrayList<ViewHzfxx>();
        if (CollectionUtils.isNotEmpty(hzfxxList)) {
            for (TYyxtHzglHzgxb hzf : hzfList) {
                //获取合作方入驻信息
                ViewHzfInfo hzfInfo = CommonConstants.getHzfInfo(hzf.getHzfid());
                if (hzfInfo != null) {
                    ViewHzfxx hzfxx = new ViewHzfxx();
                    hzfxx.setHzfid(hzfInfo.getHzfid());
                    hzfxx.setHzfmc(hzfInfo.getHzfmc());
                    hzfxxList.add(hzfxx);
                }
            }
        }
        return hzfxxList;
    }

}
